package com.turing.post.cardmanagement.util;

import java.io.Serializable;
import java.math.BigInteger;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * 卡种类
 * 
 * @author ys
 * @date 2013-01-18 by yxb
 * @date 2012-12-17
 */
@SuppressWarnings("serial")
@Entity
@Table(name = "CARDCLASSIC")
public class CardClassic implements Serializable {

	/**
	 * 正常
	 */
	public final static String CARDCLASSIC_STATUS_NORMAL = "0";

	/**
	 * 停用
	 */
	public final static String CARDCLASSIC_STATUS_STOP = "1";


	/**
	 * 实名卡
	 */
	public final static String CARDCLASSIC_STATUS_REALNAME = "1";

	/**
	 * 非实名卡
	 */
	public final static String CARDCLASSIC_STATUS_NONAME = "0";

	/**
	 * 允许充值
	 */
	public final static String CARDCLASSIC_ALLOWDEPOSIT_RECHARGE = "1";

	/**
	 * 不允许充值
	 */
	public final static String CARDCLASSIC_ALLOWDEPOSIT_NORECHARGE = "0";
	
	/**
	 * 允许赎回
	 */
	public final static String CARDCLASSIC_ALLOW_REDEMP = "1";

	/**
	 * 不允许赎回
	 */
	public final static String CARDCLASSIC_DISALLOW_REDEMP = "0";

	/**
	 * 卡种类id
	 */
	private BigInteger CardClassicId;
	/**
	 * 卡种类名称
	 */
	private String CardClassicName;
	/**
	 * 发卡商NO
	 */
	private String IssueCompanyNo;

	/**
	 * 代发卡Bin
	 */
	private String proxyIssueBin;

	/**
	 * 状态
	 */
	private String Status;
	
	/**
	 * 是否实名卡
	 */
	private String IsRealName;
	/**
	 * 是否允许充值
	 */
	private String AllowDeposit;
	/**
	 * 余额上限
	 */
	private BigInteger balanceLimit;
	/**
	 * 消费次数限制
	 */
	private Integer PaidCountLimit;
	/**
	 * 每次消费下限
	 */
	private Integer PaidAmountLowLimit;
	/**
	 * 每次消费上限
	 */
	private Integer PaidAmountHighLimit;
	/**
	 * 备注
	 */
	private String Remark;
	
	/**
	 * 是否允许赎
	 */
	private String allowRedemp;

	@Column(name = "ALLOWREDEMP", nullable = false)
	public String getAllowRedemp() {
		return allowRedemp;
	}

	public void setAllowRedemp(String allowRedemp) {
		this.allowRedemp = allowRedemp;
	}


	@Id
	@Column(name = "CARDCLASSICID", nullable = false)
	public BigInteger getCardClassicId() {
		return CardClassicId;
	}

	public void setCardClassicId(BigInteger cardClassicId) {
		CardClassicId = cardClassicId;
	}

	@Column(name = "CARDCLASSICNAME", nullable = true)
	public String getCardClassicName() {
		return CardClassicName;
	}

	public void setCardClassicName(String cardClassicName) {
		CardClassicName = cardClassicName;
	}

	@Column(name = "ISSUECOMPANYNO", nullable = false)
	public String getIssueCompanyNo() {
		return IssueCompanyNo;
	}

	public void setIssueCompanyNo(String issueCompanyNo) {
		IssueCompanyNo = issueCompanyNo;
	}


	@Column(name = "STATUS", nullable = false)
	public String getStatus() {
		return Status;
	}

	public void setStatus(String status) {
		Status = status;
	}

	@Column(name = "ALLOWDEPOSIT", nullable = false)
	public String getAllowDeposit() {
		return AllowDeposit;
	}

	public void setAllowDeposit(String allowDeposit) {
		AllowDeposit = allowDeposit;
	}

	@Column(name = "REMARK", nullable = true)
	public String getRemark() {
		return Remark;
	}

	public void setRemark(String remark) {
		Remark = remark;
	}

	@Column(name = "ISREALNAME", nullable = false)
	public String getIsRealName() {
		return IsRealName;
	}

	public void setIsRealName(String isRealName) {
		IsRealName = isRealName;
	}

	@Column(name = "PAIDCOUNTLIMIT", nullable = false)
	public Integer getPaidCountLimit() {
		return PaidCountLimit;
	}

	public void setPaidCountLimit(Integer paidCountLimit) {
		PaidCountLimit = paidCountLimit;
	}

	@Column(name = "PAIDAMOUNTLOWLIMIT", nullable = false)
	public Integer getPaidAmountLowLimit() {
		return PaidAmountLowLimit;
	}

	public void setPaidAmountLowLimit(Integer paidAmountLowLimit) {
		PaidAmountLowLimit = paidAmountLowLimit;
	}

	@Column(name = "PAIDAMOUNTHIGHLIMIT", nullable = false)
	public Integer getPaidAmountHighLimit() {
		return PaidAmountHighLimit;
	}

	public void setPaidAmountHighLimit(Integer paidAmountHighLimit) {
		PaidAmountHighLimit = paidAmountHighLimit;
	}
	
	@Column(name = "PROXYISSUEBIN")
	public String getProxyIssueBin() {
		return proxyIssueBin;
	}

	public void setProxyIssueBin(String proxyIssueBin) {
		this.proxyIssueBin = proxyIssueBin;
	}

	public BigInteger getBalanceLimit() {
		return balanceLimit;
	}

	public void setBalanceLimit(BigInteger balanceLimit) {
		this.balanceLimit = balanceLimit;
	}
	
	
}
